The present invention relates generally to call routing based on smart dialplans, and how to create, as well as maintain, a smart dialplan in a device.
Session Initiation Protocol (SIP) is a control protocol that is often used as a basis for Voice over Internet Protocol (VoIP) systems. Under SIP, participants in a communications session, as for example an Internet telephone call, may communicate using an Internet Protocol (IP) address provided by an IP layer, substantially independently of a lower-layer transport protocol. Typically, the device which originates an SIP call is a user agent client (UAC), while the device which receives such a call is a user agent server (UAS).
SIP devices may use dialmaps or dialplans to complete phone calls. A dialplan generally describes a pattern of regular expressions that may be consulted to reach a given telephone number. That is, a dialplan enables an SIP device to recognize digit strings dialed by users. Typically, a dialplan is downloaded from an external server and remains constant during its lifetime. A SIP device such as an SIP phone collects and provides digits to a UAS based on a configured dialplan which performs a digit analysis to identify a number being dialed. The UAS performs a digit analysis to identify a number being dialed. If the UAS determines that more digits are needed, the UAS may request that the SIP device provide the digits through handshaking. A digit analysis often requires the expenditure of significant UAS resources and a relatively high amount of network bandwidth.